/*!
 Colorbox v1.5.9 - 2014-04-25
 jQuery lightbox and modal window plugin
 (c) 2014 Jack Moore - http://www.jacklmoore.com/colorbox
 license: http://www.opensource.org/licenses/mit-license.php
 */
(function(t, e, i) {
    function n(i, n, o) {
        var r = e.createElement(i);
        return n && (r.id = Z + n),
        o && (r.style.cssText = o),
        t(r)
    }
    function o() {
        return i.innerHeight ? i.innerHeight : t(i).height()
    }
    function r(e, i) {
        i !== Object(i) && (i = {}),
        this.cache = {},
        this.el = e,
        this.value = function(e) {
            var n;
            return void 0 === this.cache[e] && (n = t(this.el).attr("data-cbox-" + e),
            void 0 !== n ? this.cache[e] = n : void 0 !== i[e] ? this.cache[e] = i[e] : void 0 !== X[e] && (this.cache[e] = X[e])),
            this.cache[e]
        }
        ,
        this.get = function(e) {
            var i = this.value(e);
            return t.isFunction(i) ? i.call(this.el, this) : i
        }
    }
    function h(t) {
        var e = W.length
          , i = (z + t) % e;
        return 0 > i ? e + i : i
    }
    function a(t, e) {
        return Math.round((/%/.test(t) ? ("x" === e ? E.width() : o()) / 100 : 1) * parseInt(t, 10))
    }
    function s(t, e) {
        return t.get("photo") || t.get("photoRegex").test(e)
    }
    function l(t, e) {
        return t.get("retinaUrl") && i.devicePixelRatio > 1 ? e.replace(t.get("photoRegex"), t.get("retinaSuffix")) : e
    }
    function d(t) {
        "contains"in x[0] && !x[0].contains(t.target) && t.target !== v[0] && (t.stopPropagation(),
        x.focus())
    }
    function c(t) {
        c.str !== t && (x.add(v).removeClass(c.str).addClass(t),
        c.str = t)
    }
    function g(e) {
        z = 0,
        e && e !== !1 ? (W = t("." + te).filter(function() {
            var i = t.data(this, Y)
              , n = new r(this,i);
            return n.get("rel") === e
        }),
        z = W.index(_.el),
        -1 === z && (W = W.add(_.el),
        z = W.length - 1)) : W = t(_.el)
    }
    function u(i) {
        t(e).trigger(i),
        ae.triggerHandler(i)
    }
    function f(i) {
        var o;
        if (!G) {
            if (o = t(i).data("colorbox"),
            _ = new r(i,o),
            g(_.get("rel")),
            !$) {
                $ = q = !0,
                c(_.get("className")),
                x.css({
                    visibility: "hidden",
                    display: "block",
                    opacity: ""
                }),
                L = n(se, "LoadedContent", "width:0; height:0; overflow:hidden; visibility:hidden"),
                b.css({
                    width: "",
                    height: ""
                }).append(L),
                D = T.height() + k.height() + b.outerHeight(!0) - b.height(),
                j = C.width() + H.width() + b.outerWidth(!0) - b.width(),
                A = L.outerHeight(!0),
                N = L.outerWidth(!0);
                var h = a(_.get("initialWidth"), "x")
                  , s = a(_.get("initialHeight"), "y")
                  , l = _.get("maxWidth")
                  , f = _.get("maxHeight");
                _.w = (l !== !1 ? Math.min(h, a(l, "x")) : h) - N - j,
                _.h = (f !== !1 ? Math.min(s, a(f, "y")) : s) - A - D,
                L.css({
                    width: "",
                    height: _.h
                }),
                J.position(),
                u(ee),
                _.get("onOpen"),
                O.add(I).hide(),
                x.focus(),
                _.get("trapFocus") && e.addEventListener && (e.addEventListener("focus", d, !0),
                ae.one(re, function() {
                    e.removeEventListener("focus", d, !0)
                })),
                _.get("returnFocus") && ae.one(re, function() {
                    t(_.el).focus()
                })
            }
            v.css({
                opacity: parseFloat(_.get("opacity")) || "",
                cursor: _.get("overlayClose") ? "pointer" : "",
                visibility: "visible"
            }).show(),
            _.get("closeButton") ? B.html(_.get("close")).appendTo(b) : B.appendTo("<div/>"),
            w()
        }
    }
    function p() {
        !x && e.body && (V = !1,
        E = t(i),
        x = n(se).attr({
            id: Y,
            "class": t.support.opacity === !1 ? Z + "IE" : "",
            role: "dialog",
            tabindex: "-1"
        }).hide(),
        v = n(se, "Overlay").hide(),
        S = t([n(se, "LoadingOverlay")[0], n(se, "LoadingGraphic")[0]]),
        y = n(se, "Wrapper"),
        b = n(se, "Content").append(I = n(se, "Title"), R = n(se, "Current"), P = t('<button type="button"/>').attr({
            id: Z + "Previous"
        }), K = t('<button type="button"/>').attr({
            id: Z + "Next"
        }), F = n("button", "Slideshow"), S),
        B = t('<button type="button"/>').attr({
            id: Z + "Close"
        }),
        y.append(n(se).append(n(se, "TopLeft"), T = n(se, "TopCenter"), n(se, "TopRight")), n(se, !1, "clear:left").append(C = n(se, "MiddleLeft"), b, H = n(se, "MiddleRight")), n(se, !1, "clear:left").append(n(se, "BottomLeft"), k = n(se, "BottomCenter"), n(se, "BottomRight"))).find("div div").css({
            "float": "left"
        }),
        M = n(se, !1, "position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),
        O = K.add(P).add(R).add(F),
        t(e.body).append(v, x.append(y, M)))
    }
    function m() {
        function i(t) {
            t.which > 1 || t.shiftKey || t.altKey || t.metaKey || t.ctrlKey || (t.preventDefault(),
            f(this))
        }
        return x ? (V || (V = !0,
        K.click(function() {
            J.next()
        }),
        P.click(function() {
            J.prev()
        }),
        B.click(function() {
            J.close()
        }),
        v.click(function() {
            _.get("overlayClose") && J.close()
        }),
        t(e).bind("keydown." + Z, function(t) {
            var e = t.keyCode;
            $ && _.get("escKey") && 27 === e && (t.preventDefault(),
            J.close()),
            $ && _.get("arrowKey") && W[1] && !t.altKey && (37 === e ? (t.preventDefault(),
            P.click()) : 39 === e && (t.preventDefault(),
            K.click()))
        }),
        t.isFunction(t.fn.on) ? t(e).on("click." + Z, "." + te, i) : t("." + te).live("click." + Z, i)),
        !0) : !1
    }
    function w() {
        var e, o, r, h = J.prep, d = ++le;
        if (q = !0,
        U = !1,
        u(he),
        u(ie),
        _.get("onLoad"),
        _.h = _.get("height") ? a(_.get("height"), "y") - A - D : _.get("innerHeight") && a(_.get("innerHeight"), "y"),
        _.w = _.get("width") ? a(_.get("width"), "x") - N - j : _.get("innerWidth") && a(_.get("innerWidth"), "x"),
        _.mw = _.w,
        _.mh = _.h,
        _.get("maxWidth") && (_.mw = a(_.get("maxWidth"), "x") - N - j,
        _.mw = _.w && _.w < _.mw ? _.w : _.mw),
        _.get("maxHeight") && (_.mh = a(_.get("maxHeight"), "y") - A - D,
        _.mh = _.h && _.h < _.mh ? _.h : _.mh),
        e = _.get("href"),
        Q = setTimeout(function() {
            S.show()
        }, 100),
        _.get("inline")) {
            var c = t(e);
            r = t("<div>").hide().insertBefore(c),
            ae.one(he, function() {
                r.replaceWith(c)
            }),
            h(c)
        } else
            _.get("iframe") ? h(" ") : _.get("html") ? h(_.get("html")) : s(_, e) ? (e = l(_, e),
            U = new Image,
            t(U).addClass(Z + "Photo").bind("error", function() {
                h(n(se, "Error").html(_.get("imgError")))
            }).one("load", function() {
                d === le && setTimeout(function() {
                    var e;
                    t.each(["alt", "longdesc", "aria-describedby"], function(e, i) {
                        var n = t(_.el).attr(i) || t(_.el).attr("data-" + i);
                        n && U.setAttribute(i, n)
                    }),
                    _.get("retinaImage") && i.devicePixelRatio > 1 && (U.height = U.height / i.devicePixelRatio,
                    U.width = U.width / i.devicePixelRatio),
                    _.get("scalePhotos") && (o = function() {
                        U.height -= U.height * e,
                        U.width -= U.width * e
                    }
                    ,
                    _.mw && U.width > _.mw && (e = (U.width - _.mw) / U.width,
                    o()),
                    _.mh && U.height > _.mh && (e = (U.height - _.mh) / U.height,
                    o())),
                    _.h && (U.style.marginTop = Math.max(_.mh - U.height, 0) / 2 + "px"),
                    W[1] && (_.get("loop") || W[z + 1]) && (U.style.cursor = "pointer",
                    U.onclick = function() {
                        J.next()
                    }
                    ),
                    U.style.width = U.width + "px",
                    U.style.height = U.height + "px",
                    h(U)
                }, 1)
            }),
            U.src = e) : e && M.load(e, _.get("data"), function(e, i) {
                d === le && h("error" === i ? n(se, "Error").html(_.get("xhrError")) : t(this).contents())
            })
    }
    var v, x, y, b, T, C, H, k, W, E, L, M, S, I, R, F, K, P, B, O, _, D, j, A, N, z, U, $, q, G, Q, J, V, X = {
        html: !1,
        photo: !1,
        iframe: !1,
        inline: !1,
        transition: "elastic",
        speed: 300,
        fadeOut: 300,
        width: !1,
        initialWidth: "600",
        innerWidth: !1,
        maxWidth: !1,
        height: !1,
        initialHeight: "450",
        innerHeight: !1,
        maxHeight: !1,
        scalePhotos: !0,
        scrolling: !0,
        opacity: .9,
        preloading: !0,
        className: !1,
        overlayClose: !0,
        escKey: !0,
        arrowKey: !0,
        top: !1,
        bottom: !1,
        left: !1,
        right: !1,
        fixed: !1,
        data: void 0,
        closeButton: !0,
        fastIframe: !0,
        open: !1,
        reposition: !0,
        loop: !0,
        slideshow: !1,
        slideshowAuto: !0,
        slideshowSpeed: 2500,
        slideshowStart: "start slideshow",
        slideshowStop: "stop slideshow",
        photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
        retinaImage: !1,
        retinaUrl: !1,
        retinaSuffix: "@2x.$1",
        current: "image {current} of {total}",
        previous: "previous",
        next: "next",
        close: "close",
        xhrError: "This content failed to load.",
        imgError: "This image failed to load.",
        returnFocus: !0,
        trapFocus: !0,
        onOpen: !1,
        onLoad: !1,
        onComplete: !1,
        onCleanup: !1,
        onClosed: !1,
        rel: function() {
            return this.rel
        },
        href: function() {
            return t(this).attr("href")
        },
        title: function() {
            return this.title
        }
    }, Y = "colorbox", Z = "cbox", te = Z + "Element", ee = Z + "_open", ie = Z + "_load", ne = Z + "_complete", oe = Z + "_cleanup", re = Z + "_closed", he = Z + "_purge", ae = t("<a/>"), se = "div", le = 0, de = {}, ce = function() {
        function t() {
            clearTimeout(h)
        }
        function e() {
            (_.get("loop") || W[z + 1]) && (t(),
            h = setTimeout(J.next, _.get("slideshowSpeed")))
        }
        function i() {
            F.html(_.get("slideshowStop")).unbind(s).one(s, n),
            ae.bind(ne, e).bind(ie, t),
            x.removeClass(a + "off").addClass(a + "on")
        }
        function n() {
            t(),
            ae.unbind(ne, e).unbind(ie, t),
            F.html(_.get("slideshowStart")).unbind(s).one(s, function() {
                J.next(),
                i()
            }),
            x.removeClass(a + "on").addClass(a + "off")
        }
        function o() {
            r = !1,
            F.hide(),
            t(),
            ae.unbind(ne, e).unbind(ie, t),
            x.removeClass(a + "off " + a + "on")
        }
        var r, h, a = Z + "Slideshow_", s = "click." + Z;
        return function() {
            r ? _.get("slideshow") || (ae.unbind(oe, o),
            o()) : _.get("slideshow") && W[1] && (r = !0,
            ae.one(oe, o),
            _.get("slideshowAuto") ? i() : n(),
            F.show())
        }
    }();
    t.colorbox || (t(p),
    J = t.fn[Y] = t[Y] = function(e, i) {
        var n, o = this;
        if (e = e || {},
        t.isFunction(o))
            o = t("<a/>"),
            e.open = !0;
        else if (!o[0])
            return o;
        return o[0] ? (p(),
        m() && (i && (e.onComplete = i),
        o.each(function() {
            var i = t.data(this, Y) || {};
            t.data(this, Y, t.extend(i, e))
        }).addClass(te),
        n = new r(o[0],e),
        n.get("open") && f(o[0])),
        o) : o
    }
    ,
    J.position = function(e, i) {
        function n() {
            T[0].style.width = k[0].style.width = b[0].style.width = parseInt(x[0].style.width, 10) - j + "px",
            b[0].style.height = C[0].style.height = H[0].style.height = parseInt(x[0].style.height, 10) - D + "px"
        }
        var r, h, s, l = 0, d = 0, c = x.offset();
        if (E.unbind("resize." + Z),
        x.css({
            top: -9e4,
            left: -9e4
        }),
        h = E.scrollTop(),
        s = E.scrollLeft(),
        _.get("fixed") ? (c.top -= h,
        c.left -= s,
        x.css({
            position: "fixed"
        })) : (l = h,
        d = s,
        x.css({
            position: "absolute"
        })),
        d += _.get("right") !== !1 ? Math.max(E.width() - _.w - N - j - a(_.get("right"), "x"), 0) : _.get("left") !== !1 ? a(_.get("left"), "x") : Math.round(Math.max(E.width() - _.w - N - j, 0) / 2),
        l += _.get("bottom") !== !1 ? Math.max(o() - _.h - A - D - a(_.get("bottom"), "y"), 0) : _.get("top") !== !1 ? a(_.get("top"), "y") : Math.round(Math.max(o() - _.h - A - D, 0) / 2),
        x.css({
            top: c.top,
            left: c.left,
            visibility: "visible"
        }),
        y[0].style.width = y[0].style.height = "9999px",
        r = {
            width: _.w + N + j,
            height: _.h + A + D,
            top: l,
            left: d
        },
        e) {
            var g = 0;
            t.each(r, function(t) {
                return r[t] !== de[t] ? (g = e,
                void 0) : void 0
            }),
            e = g
        }
        de = r,
        e || x.css(r),
        x.dequeue().animate(r, {
            duration: e || 0,
            complete: function() {
                n(),
                q = !1,
                y[0].style.width = _.w + N + j + "px",
                y[0].style.height = _.h + A + D + "px",
                _.get("reposition") && setTimeout(function() {
                    E.bind("resize." + Z, J.position)
                }, 1),
                i && i()
            },
            step: n
        })
    }
    ,
    J.resize = function(t) {
        var e;
        $ && (t = t || {},
        t.width && (_.w = a(t.width, "x") - N - j),
        t.innerWidth && (_.w = a(t.innerWidth, "x")),
        L.css({
            width: _.w
        }),
        t.height && (_.h = a(t.height, "y") - A - D),
        t.innerHeight && (_.h = a(t.innerHeight, "y")),
        t.innerHeight || t.height || (e = L.scrollTop(),
        L.css({
            height: "auto"
        }),
        _.h = L.height()),
        L.css({
            height: _.h
        }),
        e && L.scrollTop(e),
        J.position("none" === _.get("transition") ? 0 : _.get("speed")))
    }
    ,
    J.prep = function(i) {
        function o() {
            return _.w = _.w || L.width(),
            _.w = _.mw && _.mw < _.w ? _.mw : _.w,
            _.w
        }
        function a() {
            return _.h = _.h || L.height(),
            _.h = _.mh && _.mh < _.h ? _.mh : _.h,
            _.h
        }
        if ($) {
            var d, g = "none" === _.get("transition") ? 0 : _.get("speed");
            L.remove(),
            L = n(se, "LoadedContent").append(i),
            L.hide().appendTo(M.show()).css({
                width: o(),
                overflow: _.get("scrolling") ? "auto" : "hidden"
            }).css({
                height: a()
            }).prependTo(b),
            M.hide(),
            t(U).css({
                "float": "none"
            }),
            c(_.get("className")),
            d = function() {
                function i() {
                    t.support.opacity === !1 && x[0].style.removeAttribute("filter")
                }
                var n, o, a = W.length;
                $ && (o = function() {
                    clearTimeout(Q),
                    S.hide(),
                    u(ne),
                    _.get("onComplete")
                }
                ,
                I.html(_.get("title")).show(),
                L.show(),
                a > 1 ? ("string" == typeof _.get("current") && R.html(_.get("current").replace("{current}", z + 1).replace("{total}", a)).show(),
                K[_.get("loop") || a - 1 > z ? "show" : "hide"]().html(_.get("next")),
                P[_.get("loop") || z ? "show" : "hide"]().html(_.get("previous")),
                ce(),
                _.get("preloading") && t.each([h(-1), h(1)], function() {
                    var i, n = W[this], o = new r(n,t.data(n, Y)), h = o.get("href");
                    h && s(o, h) && (h = l(o, h),
                    i = e.createElement("img"),
                    i.src = h)
                })) : O.hide(),
                _.get("iframe") ? (n = e.createElement("iframe"),
                "frameBorder"in n && (n.frameBorder = 0),
                "allowTransparency"in n && (n.allowTransparency = "true"),
                _.get("scrolling") || (n.scrolling = "no"),
                t(n).attr({
                    src: _.get("href"),
                    name: (new Date).getTime(),
                    "class": Z + "Iframe",
                    allowFullScreen: !0
                }).one("load", o).appendTo(L),
                ae.one(he, function() {
                    n.src = "//about:blank"
                }),
                _.get("fastIframe") && t(n).trigger("load")) : o(),
                "fade" === _.get("transition") ? x.fadeTo(g, 1, i) : i())
            }
            ,
            "fade" === _.get("transition") ? x.fadeTo(g, 0, function() {
                J.position(0, d)
            }) : J.position(g, d)
        }
    }
    ,
    J.next = function() {
        !q && W[1] && (_.get("loop") || W[z + 1]) && (z = h(1),
        f(W[z]))
    }
    ,
    J.prev = function() {
        !q && W[1] && (_.get("loop") || z) && (z = h(-1),
        f(W[z]))
    }
    ,
    J.close = function() {
        $ && !G && (G = !0,
        $ = !1,
        u(oe),
        _.get("onCleanup"),
        E.unbind("." + Z),
        v.fadeTo(_.get("fadeOut") || 0, 0),
        x.stop().fadeTo(_.get("fadeOut") || 0, 0, function() {
            x.hide(),
            v.hide(),
            u(he),
            L.remove(),
            setTimeout(function() {
                G = !1,
                u(re),
                _.get("onClosed")
            }, 1)
        }))
    }
    ,
    J.remove = function() {
        x && (x.stop(),
        t.colorbox.close(),
        x.stop().remove(),
        v.remove(),
        G = !1,
        x = null,
        t("." + te).removeData(Y).removeClass(te),
        t(e).unbind("click." + Z))
    }
    ,
    J.element = function() {
        return t(_.el)
    }
    ,
    J.settings = X)
}
)(jQuery, document, window);
